﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Furiant.Figment.Agents;
using Furiant.Figment.Agents.Inventory;

namespace Furiant.Figment.Items.Lootable
{
    public interface IEquippable : ILootable
    {
        EquipSlotMapCollection EquipSlotMaps { get; }

        IEnumerable<EquipActionCriterion<IHasInventory>> EquipActionCriteria { get; }


        bool EquipActionCriteriaSatisfied(IHasInventory target, EquipAction action);

        IEquippable GetClone();

        void SetEquipState(bool isEquipped);
    }
}
